.. _ecmSxSt_IsBusy: ecmSxSt_IsBusy ============== -------------- SYNOPSIS -------- .. code-block:: none t_bool ecmSxSt_IsBusy( t_i32 NetID, t_i32 Axis, t_i32 *ErrCode ) DESCRIPTION ----------- - 이 함수는 단일 축에 대하여 모션 이송 중인지를 확인합니다. PARAMETER --------- - NetID : Network 번호 - Axis : 대상 축 번호. - ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다. RETURN VALUE ------------ - 이 리턴값은 불 형(Boolean Type) 을 가지고 있습니다. +-------+------------------------------+ | Value | Meaning | +=======+==============================+ | 0 | 이송 중이 아님을 의미합니다. | +-------+------------------------------+ | 1 | 이송 중임을 의미합니다. | +-------+------------------------------+ EXAMPLE ````````````` .. code-block:: cpp :linenos: C/C++ //본 예제는 ecmMxMot_MoveStart사용하여 두 축을 절대 좌표5000으로 이동하는 예 입니다. #include "ComiEcatSdk_Api.h" #define AXIS0 0 t_32 Error_Num = 0;//함수 별 에러 코드 저장 변수 /*************************************************************** * 프로그램 앞 부분은 생략 ***************************************************************/ /*************************************************************** * DO_Busy: 작업 명령 시에 호출되는 가상의 함수 입니다. ***************************************************************/ void DO_Busy() { //cmsSetCfgSetSpeedPattern으로 설정된 첫번째 축(Axis)의 속도모드를 //그대로 유지 하면서 두 축을 상대 위치 만큼 +5000 이동 ecmSxMot_MoveStart(Device_Info.NetIdx, AXIS0, 5000, &Error_Num); //Move 두 축을 각각 절대 좌표 5000으로 이동 While(1) { if(!ecmSxSt_IsBusy (Device_Info.NetIdx, AXIS0, &Error_Num) { //이송 중이 아니면 break; break; } } }